/**
 * 数字输入控制
 * @param string value 输入值
 * @param int len 整数位长度
 * @param int d 小数点位长度
 * @param function fn(returnValue) 回调函数，处理后正确的值传入该函数参数returnValue，如果整数位非法则传入该函数returnValue为false
 * @author lix
 */
function checkNumber(value, len, d, fn)
{
	value = LTrim(value, '0');
	var returnValue = false;
	var leftNum = '';
	var rightNum = '';
	//包含小数点
	if(value.indexOf('.') != -1)
	{
		leftNum = value.substring(0, value.indexOf("."));
		rightNum = value.substr(value.indexOf(".") + 1, d);
	}
	else
	{
		leftNum = value;
	}
	if(leftNum == '') leftNum = '0';
	if(rightNum == '') rightNum = '0';
	//判断整数部分是否为整数
	if(parseInt(leftNum) == leftNum && leftNum.length <= len)
	{
		returnValue = leftNum;
		//判断小数部分是否为整数
		if(d > 0)
		{
			returnValue += '.';
			if(parseInt(rightNum) == rightNum)
			{
				if(rightNum.length < d) rightNum = rightNum.str_pad('0', d, 'right');
				returnValue += rightNum;
			}
			else
			{
				returnValue = returnValue.str_pad('0', d + returnValue.length, 'right');
			}
		}
	}
	
	fn(returnValue);
}

/**
 * 类PHP lrim函数
 * @author lix
 */
function LTrim(str, s)
{
	if(typeof s == 'undefined') s = '';
    var i;
    for(i=0;i<str.length;i++)
    {
		if(s == '')
		{
			if(str.charAt(i)!=" "&&str.charAt(i)!=" ")break;
		}
        else
		{
			if(str.charAt(i)!=s)break;
		}
    }
    str=str.substring(i,str.length);
    return str;
}

/**
 * 类PHP rtrim函数
 * @author lix
 */
function RTrim(str, s)
{
	if(typeof s == 'undefined') s = '';
    var i;
    for(i=str.length-1;i>=0;i--)
    {
       if(s == '')
		{
			if(str.charAt(i)!=" "&&str.charAt(i)!=" ")break;
		}
        else
		{
			if(str.charAt(i)!=s)break;
		}
    }
    str=str.substring(0,i+1);
    return str;
}
/**
 * 类PHP trim函数
 * @author lix
 */
function Trim(str, s)
{
    return LTrim(RTrim(str, s), s);
}